﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.ObjectModel;

namespace FlowgraphViewer.Model
{
    /// <summary>
    /// Represents a flownode
    /// </summary>
    public class FlowNode
    {
        #region Properties
        
        public ObservableCollection<FlowNodeItem> Inputs { get; set; }
        public ObservableCollection<FlowNodeItem> Outputs { get; set; }
        public EFlowNodeCategory Category { get; set; }
        public string Name { get; set; }
        public string TechnicalName { get; set; }
        public string Description { get; set; }

        #endregion

        public FlowNode()
        {
            Inputs = new ObservableCollection<FlowNodeItem>();
            Outputs = new ObservableCollection<FlowNodeItem>();
            Category = EFlowNodeCategory.Invalid;
            Name = "";
            TechnicalName = "";
            Description = "";
        }

        public FlowNode(EFlowNodeCategory cat, string name, string description = "")
            : this()
        {
            Category = cat;
            Name = name;
            TechnicalName = name;
            Description = description;
        }


    }
}
